package com.study.d5_regex;

public class Test {
    public static void main(String[] args) {
        //初步体验正则表达式的作用：校验数据
        System.out.println(checkQQ1("512303373"));
        System.out.println(checkQQ1("45f5689"));
        System.out.println(checkQQ2("34995668"));
        System.out.println(checkQQ2("05689799"));
        System.out.println(checkQQ2("12345"));
        System.out.println("====================");
        //需求1：要么是3个小写字母，要么是3个数字
        System.out.println("aa2".matches("[a-z]{3}|\\d{3}"));
        System.out.println("aab".matches("[a-z]{3}|\\d{3}"));
        System.out.println("852".matches("[a-z]{3}|\\d{3}"));
        //需求2：必须是“我爱”开头，中间可以是至少一个“编程”，最后至少是一个“666”
        System.out.println("=====================");
        System.out.println("我爱编程编程编程666666".matches("我爱(编程)+(666)+"));
        System.out.println("编程666".matches("我爱(编程)+(666)+"));

    }

    //在java中，\是有特殊用途的，例如\n \t，一般作为特殊字符使用不能独立存在，所以\d要写成\\d
    //（?i）忽略大小写
    public static boolean checkQQ2(String qqNumber){
        return qqNumber!=null && qqNumber.matches("[1-9]\\d{5,}");
    }
    public static boolean checkQQ1(String qqNumber){
        if(qqNumber==null||qqNumber.startsWith("0")||qqNumber.length()<=5)
            return false;
        for (int i = 0; i < qqNumber.length(); i++) {
            char c = qqNumber.charAt(i);
            if(c<'0'||c>'9')
                return false;
        }
        return true;
    }
}
